J'ai divisé cette page en plusieurs parties. Ce n'est pas forcément intéressant de séparer les sujets en plusieurs pages.
Tout d'abord, pour avoir des informations sur le fichier vidéo :
ffmpeg -i video.mkv
Comment convertir le format mkv en mp4 (ou autres) ?
Je me suis basé sur cet article.
Commande (sans être root) :
ffmpeg -i /home/bot2foin/Pxx.mkv -codec copy Pxx.mp4
Comment convertir vidéo .X en version .mkv ?
Je me suis basé sur cet article.
Pour ma part, j'effectue cette manipulation pour lire certaines de mes vidéos sur ma télévision.
Aller choisir la vidéo et extraire le son sous un autre format :
ffmpeg -i VIDEO.webm -vn audio.mp3
Puis rassembler (merge) la vidéo et le nouveau son :
ffmpeg -i VIDEO.webm -i audio.mp3 -c:v copy -c:a aac -strict experimental output_video.mkv
Comment couper une vidéo en une section bien définie ?
Je me suis basé sur cet article.
Choisir de quel temps à quel temps nous souhaitons couper la vidéo :
ffmpeg -i input.mp4 -ss 00:35:00 -to 00:48:20 -c copy output.mp4
Simple & efficace !
Comment récuperer : sous-titre, vidéo, audio ?
Voir les sous-titres de disponible avec :
ffmeg -i input.mkv
Ici il est indiqué "fre" pour French :

Donc la commande est :
ffmpeg -i input.mkv -map 0:m:language:fre -c copy subtitle.srt
Comment ajouter des sous-titre & de l'audio ?
Je me suis basé sur cet article.
HardSub :
Les sous-titres sont encodés en dur, ne peuvent être enlevés de la vidéo. Ce qui n'est pas hyper pratique et top !
Quelques options en plus : choix de la couleur des sous titres, tailles ....
Exemple :
ffmpeg -i mymovie.mp4 -vf subtitles=subtitles.srt mysubtitledmovie.mp4
SoftSub :
Les sous-titres peuvent être enlevés ou choisis, le tout sans extraction.
Ici je choisis, le fichier d'entrée et celui de sortie. Je choisis de copier la vidéo (0:v:0), l'audio (0:a:0) et je choisis la langue "fre" donc "french). Pour voir ces informations, utiliser la commande :
ffmpeg -i input.mkv
-c:v, -c:a, -c:s, copy ... peut-être remplacé par un format de fichier, à voir ce qui est disponible.
À savoir que 0:a:0, le dernier 0 représente la première langue, ensuite 1 la seconde et ainsi de suite.
Exemple :
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:m:language:fre -c:v copy -c:a copy -c:s copy output.mkv
Si je souhaites garder les 2 langues par exemple (Anglais et Espagnol). J'ajoutes la commande -map une seconde fois (-map 0:a:0 -map 0:a:1) :
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:m:language:fre -c:v copy -c:a copy -c:s copy output.mkv
Idem pour les sous-titres. Je peux également choisir celui qui m'intéresse avec -map 0:s:0. Language permet de rajouter le nom du sous-titre comme l'on veut. Cependant, le sous-titre numéro 8 n'est pas forcement celui en Français et ne correspond pas au détail indiqué dans la commande avec -i, donc actuellement je n'utilises pas cette commande :
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:s:8 -metadata:s:s:0 language=FreMAN -c:v copy -c:a copy -c:s copy output.mkv